home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / var / lib / dpkg / info / libpam-runtime.postinst < prev    next >
Text File  |  2009-09-04  |  2KB  |  62 lines

  1. #!/bin/sh -e
  2.  
  3. . /usr/share/debconf/confmodule
  4.  
  5. # pam-auth-update is introduced in 1.0.1-2ubuntu1
  6. # Between 1.0.1-2ubuntu1 and 1.0.1-10 it is possible to get empty profiles
  7. if [ "x$2" != "x" ] ;then
  8.     if dpkg --compare-versions $2 lt 1.0.1-10 && dpkg --compare-versions $2 ge 1.0.1-2ubuntu1 ; then
  9.     db_get libpam-runtime/profiles
  10.     if [ "x$RET" = "x" ] ; then
  11.         UHOH=1
  12.     fi
  13.     fi
  14. fi
  15.  
  16. calculate_md5sum()
  17. {
  18.     configfile="$1"
  19.     sed -n -e'1,/# here are the per-package modules (the "Primary" block)/p;
  20.               /# here.s the fallback if no module succeeds/,/# and here are more per-package modules (the "Additional" block)/p;
  21.               /# end of pam-auth-update config/,$p' \
  22.         /etc/pam.d/"$configfile" | md5sum | awk '{ print $1 }'
  23. }
  24.  
  25. # If the user has removed the config file, respect this sign of dementia
  26. # -- only create on package install.
  27. force=
  28. if [ -z "$2" ] || dpkg --compare-versions "$2" lt 1.0.1-11
  29. then
  30.     force=--force
  31.     for configfile in common-auth common-account common-session  \
  32.         common-password
  33.     do
  34.         if [ -f /etc/pam.d/$configfile ] && \
  35.             ! fgrep -q $(calculate_md5sum $configfile) \
  36.             /usr/share/pam/$configfile.md5sums 2>/dev/null
  37.         then
  38.             force=
  39.         fi
  40.     done
  41. fi
  42.  
  43. pam-auth-update --package $force
  44.  
  45. if [ -n "$force" ]; then
  46.     rm -f /etc/pam.d/common-auth.pam-old \
  47.           /etc/pam.d/common-account.pam-old \
  48.           /etc/pam.d/common-password.pam-old \
  49.           /etc/pam.d/common-session.pam-old
  50. elif dpkg --compare-versions "$2" lt-nl 1.1.0-1 \
  51.         && [ ! -e /etc/pam.d/common-session-noninteractive ]
  52. then
  53.     cp -a /etc/pam.d/common-session /etc/pam.d/common-session-noninteractive
  54. fi
  55.  
  56. if [ -n "$UHOH" ]; then
  57.     db_input critical libpam-runtime/you-had-no-auth || true
  58.     db_go
  59. fi
  60.  
  61.  
  62.